<?php
class form_ml_guia_detalle extends toba_ei_formulario_ml
{
	//-----------------------------------------------------------------------------------
	//---- JAVASCRIPT -------------------------------------------------------------------
	//-----------------------------------------------------------------------------------

	function extender_objeto_js()
	{
		//$limite_filas = $this->controlador()->get_cantidad_de_evaluadores_por_proyecto_externos();
		//ei_arbol($limite_filas);
		$limite_filas = 2;
		if($limite_filas == 0){
			$limite_filas = 2;
		}
		
		echo "
		//---- Procesamiento de EFs --------------------------------
		
		
		//alert(cantidad_filas);
		limite_filas   = $limite_filas;
				
		{$this->objeto_js}.crear_fila_orig = {$this->objeto_js}.crear_fila; 
		{$this->objeto_js}.crear_fila = function() {
			cantidad_filas = {$this->objeto_js}.filas().length + 1;
				if (cantidad_filas > limite_filas) {
					notificacion.agregar('No pueden ingresarse mas de $limite_filas lineas en el detalle', 'error');
					notificacion.ventana_modal();
					notificacion.limpiar();
					cantidad_filas--;
					return false;
				}else{
					id_fila = this.crear_fila_orig();
					return id_fila;
				}
				//cantidad_filas++;
			
		}
			
		{$this->objeto_js}.eliminar_fila_orig = {$this->objeto_js}.eliminar_fila; 
		{$this->objeto_js}.eliminar_fila = function(fila) {
				
				var total_concepto = this.controlador.dep('form_ml_guia_concepto_envio').total('importe');
				var total_descuento = this.controlador.dep('form_ml_guia_descuento').total('importe');
				total = total_concepto - total_descuento;    
					
				iva = 21;
				total_iva = ((total * iva) /100);
				monto_total = total + total_iva;
				
				
				this.controlador.dep('form_guia_total').ef('subtotal').set_estado(total);    
				//alert (total);
				this.controlador.dep('form_guia_total').ef('iva').set_estado(iva);
				this.controlador.dep('form_guia_total').ef('monto_iva').set_estado(total_iva);
				this.controlador.dep('form_guia_total').ef('monto').set_estado(monto_total);
				
				this.controlador.dep('form_guia_total').ef('a_cobrar_en_destino').set_estado(total);
								
				return this.eliminar_fila_orig(fila);
				//cantidad_filas--;
		}
			
		{$this->objeto_js}.deshacer_orig = {$this->objeto_js}.deshacer; 
		{$this->objeto_js}.deshacer = function() {
				///cantidad_filas++;
				cantidad_filas = {$this->objeto_js}.filas().length +1;
				if (cantidad_filas > limite_filas) {
					notificacion.agregar('No pueden ingresarse mas de $limite_filas lineas en el detalle', 'error');
					notificacion.ventana_modal();
					notificacion.limpiar();
					cantidad_filas--;
					return false;
				}else{
					this.deshacer_orig();
				}        
		}
		
		{$this->objeto_js}.ini = function(es_inicial)
		{
			this.colapsar();
		}
		
		{$this->objeto_js}.evt__cantidad__procesar = function(es_inicial, fila)
		{
			if(!es_inicial)
			{
				medida = this.ef('cod_medida').ir_a_fila(fila).get_estado();
				peso = this.ef('peso').ir_a_fila(fila).get_estado();
				
				if ((medida != 'nopar') && (peso != 'null') && (peso != ''))
				{
					if (medida == '1') 
					{
						this.controlador.ajax('get_tarifa_peso',peso,this,this.cargar_peso_importe);  
					}
					
					if (medida == '2') 
					{
						largo = this.ef('largo').ir_a_fila(fila).get_estado();
						ancho = this.ef('ancho').ir_a_fila(fila).get_estado();
						alto = this.ef('alto').ir_a_fila(fila).get_estado();
						volumen_aforado = ((largo * ancho * alto) / 6000);
						
						if (volumen_aforado > peso) {
							this.ef('aforado').ir_a_fila(fila).set_estado(volumen_aforado);
						}
								
						if (volumen_aforado < peso) {
							this.ef('aforado').ir_a_fila(fila).set_estado(peso);
						}
								
						var valor = [peso,largo,ancho,alto];
						this.controlador.ajax('get_tarifa_aforado',valor,this,this.cargar_aforado_importe);			
					}
				}	
			}
		}
	
		{$this->objeto_js}.evt__cod_medida__procesar = function(es_inicial, fila)
		{
				medida = this.ef('cod_medida').ir_a_fila(fila).get_estado();
				if (medida == 'nopar')
				{
					this.ef('peso').ir_a_fila(fila).ocultar();
					this.ef('alto').ir_a_fila(fila).ocultar();
					this.ef('ancho').ir_a_fila(fila).ocultar();
					this.ef('largo').ir_a_fila(fila).ocultar();
					this.ef('aforado').ir_a_fila(fila).ocultar();
					//this.ef('valor_declarado').ir_a_fila(fila).ocultar();
					this.ef('importe').ir_a_fila(fila).ocultar();
					
					this.ef('alto').ir_a_fila(fila).set_estado('');
					this.ef('ancho').ir_a_fila(fila).set_estado('');
					this.ef('largo').ir_a_fila(fila).set_estado('');
					this.ef('aforado').ir_a_fila(fila).set_estado('');
					this.ef('importe').ir_a_fila(fila).set_estado('');
				}
				
				if (medida == 1)
				{
					this.ef('peso').ir_a_fila(fila).mostrar();
					this.ef('alto').ir_a_fila(fila).ocultar();
					this.ef('ancho').ir_a_fila(fila).ocultar();
					this.ef('largo').ir_a_fila(fila).ocultar();
					this.ef('aforado').ir_a_fila(fila).ocultar();
					//this.ef('valor_declarado').ir_a_fila(fila).mostrar();
					this.ef('importe').ir_a_fila(fila).mostrar();
					
					//this.ef('peso').ir_a_fila(fila).set_estado('');
					this.ef('alto').ir_a_fila(fila).set_estado('');
					this.ef('ancho').ir_a_fila(fila).set_estado('');
					this.ef('largo').ir_a_fila(fila).set_estado('');
			
					peso = this.ef('peso').ir_a_fila(fila).get_estado();
					if ((peso != 'null') && (peso != ''))
					{
						this.controlador.ajax('get_tarifa_peso',peso,this,this.cargar_peso_importe);  
					}
				}
				
				if (medida == 2)
				{
					this.ef('peso').ir_a_fila(fila).mostrar();
					this.ef('alto').ir_a_fila(fila).mostrar();
					this.ef('ancho').ir_a_fila(fila).mostrar();
					this.ef('largo').ir_a_fila(fila).mostrar();
					this.ef('aforado').ir_a_fila(fila).mostrar();
					//this.ef('valor_declarado').ir_a_fila(fila).mostrar();
					this.ef('importe').ir_a_fila(fila).mostrar();
					
					this.ef('alto').ir_a_fila(fila).set_estado('');
					this.ef('ancho').ir_a_fila(fila).set_estado('');
					this.ef('largo').ir_a_fila(fila).set_estado('');
					//this.ef('aforado').ir_a_fila(fila).set_estado('');
					
					peso = this.ef('peso').ir_a_fila(fila).get_estado();
				
					if ((peso != 'null') && (peso != ''))
					{
						largo = this.ef('largo').ir_a_fila(fila).get_estado();
						ancho = this.ef('ancho').ir_a_fila(fila).get_estado();
						alto = this.ef('alto').ir_a_fila(fila).get_estado();
						volumen_aforado = ((largo * ancho * alto) / 6000);
						
						if (volumen_aforado > peso) {
							this.ef('aforado').ir_a_fila(fila).set_estado(volumen_aforado);
						}
								
						if (volumen_aforado < peso) {
							this.ef('aforado').ir_a_fila(fila).set_estado(peso);
						}
								
						var valor = [peso,largo,ancho,alto];
						this.controlador.ajax('get_tarifa_aforado',valor,this,this.cargar_aforado_importe);		
					}
				}
		}
	
		{$this->objeto_js}.evt__peso__procesar = function(es_inicial, fila)
		{
			if(!es_inicial)
			{
				medida = this.ef('cod_medida').ir_a_fila(fila).get_estado();
				peso = this.ef('peso').ir_a_fila(fila).get_estado();
				
				if ((medida != 'nopar') && (peso != 'null') && (peso != ''))
				{
					if (medida == '1') 
					{
						this.controlador.ajax('get_tarifa_peso',peso,this,this.cargar_peso_importe);  
					}
					
					if (medida == '2')
					{
						largo = this.ef('largo').ir_a_fila(fila).get_estado();
						ancho = this.ef('ancho').ir_a_fila(fila).get_estado();
						alto = this.ef('alto').ir_a_fila(fila).get_estado();
						volumen_aforado = ((largo * ancho * alto) / 6000);
						
						if (volumen_aforado > peso) {
							this.ef('aforado').ir_a_fila(fila).set_estado(volumen_aforado);
						}
								
						if (volumen_aforado < peso) {
							this.ef('aforado').ir_a_fila(fila).set_estado(peso);
						}
								
						var valor = [peso,largo,ancho,alto];
						this.controlador.ajax('get_tarifa_aforado',valor,this,this.cargar_aforado_importe);			
					}
				}	
			}
		}
		
		{$this->objeto_js}.cargar_peso_importe = function(datos)
		{
			cantidad = this.controlador.dep('form_ml_guia_detalle').ef('cantidad').get_estado();
			if (datos != 'null' && cantidad != 'null' && cantidad != ''){
				importe_peso = (datos['total']);
				importe_cantidad = (importe_peso * cantidad);
				this.ef('importe').set_estado(importe_cantidad);
			}
		}
			
		{$this->objeto_js}.evt__largo__procesar = function(es_inicial, fila)
		{
			if(!es_inicial)
			{
				medida = this.ef('cod_medida').ir_a_fila(fila).get_estado();
				peso = this.ef('peso').ir_a_fila(fila).get_estado();
				
				if ((medida != 'nopar') && (peso != 'null') && (peso != ''))
				{
					if (medida == '1')
					{
						this.controlador.ajax('get_tarifa_peso',peso,this,this.cargar_peso_importe);  
					}
					
					if (medida == '2')
					{
						largo = this.ef('largo').ir_a_fila(fila).get_estado();
						ancho = this.ef('ancho').ir_a_fila(fila).get_estado();
						alto = this.ef('alto').ir_a_fila(fila).get_estado();
						volumen_aforado = ((largo * ancho * alto) / 6000);
						
						if (volumen_aforado > peso) {
							this.ef('aforado').ir_a_fila(fila).set_estado(volumen_aforado);
						}
								
						if (volumen_aforado < peso) {
							this.ef('aforado').ir_a_fila(fila).set_estado(peso);
						}
								
						var valor = [peso,largo,ancho,alto];
						this.controlador.ajax('get_tarifa_aforado',valor,this,this.cargar_aforado_importe);			
					}
				}	
			}
		}
		
		{$this->objeto_js}.evt__ancho__procesar = function(es_inicial, fila)
		{
			if(!es_inicial)
			{
				medida = this.ef('cod_medida').ir_a_fila(fila).get_estado();
				peso = this.ef('peso').ir_a_fila(fila).get_estado();
				
				if ((medida != 'nopar') && (peso != 'null') && (peso != ''))
				{
					if (medida == '1')
					{
						this.controlador.ajax('get_tarifa_peso',peso,this,this.cargar_peso_importe);  
					}
					
					if (medida == '2')
					{
						largo = this.ef('largo').ir_a_fila(fila).get_estado();
						ancho = this.ef('ancho').ir_a_fila(fila).get_estado();
						alto = this.ef('alto').ir_a_fila(fila).get_estado();
						volumen_aforado = ((largo * ancho * alto) / 6000);
						
						if (volumen_aforado > peso) {
							this.ef('aforado').ir_a_fila(fila).set_estado(volumen_aforado);
						}
								
						if (volumen_aforado < peso) {
							this.ef('aforado').ir_a_fila(fila).set_estado(peso);
						}
								
						var valor = [peso,largo,ancho,alto];
						this.controlador.ajax('get_tarifa_aforado',valor,this,this.cargar_aforado_importe);			
					}
				}	
			}
		}
		
		{$this->objeto_js}.evt__alto__procesar = function(es_inicial, fila)
		{
			if(!es_inicial)
			{
				medida = this.ef('cod_medida').ir_a_fila(fila).get_estado();
				peso = this.ef('peso').ir_a_fila(fila).get_estado();
				
				if ((medida != 'nopar') && (peso != 'null') && (peso != ''))
				{
					if (medida == '1')
					{
						this.controlador.ajax('get_tarifa_peso',peso,this,this.cargar_peso_importe);  
					}
					
					if (medida == '2')
					{
						largo = this.ef('largo').ir_a_fila(fila).get_estado();
						ancho = this.ef('ancho').ir_a_fila(fila).get_estado();
						alto = this.ef('alto').ir_a_fila(fila).get_estado();
						volumen_aforado = ((largo * ancho * alto) / 6000);
						
						if (volumen_aforado > peso) {
							this.ef('aforado').ir_a_fila(fila).set_estado(volumen_aforado);
						}
								
						if (volumen_aforado < peso) {
							this.ef('aforado').ir_a_fila(fila).set_estado(peso);
						}
								
						var valor = [peso,largo,ancho,alto];
						this.controlador.ajax('get_tarifa_aforado',valor,this,this.cargar_aforado_importe);			
					}
				}	
			}
		}
		
		{$this->objeto_js}.cargar_aforado_importe = function(datos)
		{
			cantidad = this.controlador.dep('form_ml_guia_detalle').ef('cantidad').get_estado();
			if (datos != 'null' && cantidad != 'null' && cantidad != ''){
				importe_peso = (datos['total']);
				importe_cantidad = (importe_peso * cantidad);
				this.ef('importe').set_estado(importe_cantidad);
			}
		}
			
		{$this->objeto_js}.evt__importe__procesar = function(es_inicial, fila)
		{	
			var total_detalle = this.controlador.dep('form_ml_guia_detalle').total('importe');
			var total_concepto = this.controlador.dep('form_ml_guia_concepto_envio').total('importe');
			var total_descuento = this.controlador.dep('form_ml_guia_descuento').total('importe');
			total = total_detalle + total_concepto - total_descuento;    
				
			iva = 21;
			total_iva = ((total * iva) /100);
			monto_total = total + total_iva;
			
			this.controlador.dep('form_guia_total').ef('subtotal').set_estado(total);    
			//alert (total);
			this.controlador.dep('form_guia_total').ef('iva').set_estado(iva);
			this.controlador.dep('form_guia_total').ef('monto_iva').set_estado(total_iva);
			this.controlador.dep('form_guia_total').ef('monto').set_estado(monto_total);
			
			this.controlador.dep('form_guia_total').ef('a_cobrar_en_destino').set_estado(total);					
		}    

		";
	}
}
?>
